from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import JsonResponse


class LoginRequiredJSONMixin(LoginRequiredMixin):
    """自定义LoginRequiredMixin
    如果用户未登录，响应JSON，且状态码为400
    """
    # 这个方法就是没有登陆的处理方法，他原来默认重定向自己页面。现在我们要求直接响应返回即可。
    def handle_no_permission(self):
        return JsonResponse({'code': 400, 'errmsg': '用户未登录'})